package com.example.d12_homework.homework04;

class Person {
    String name = "person";

    public void shout() {
        System.out.println(name);
    }
}

class Student extends Person {
    String name = "student";
    String school = "school";
}

public class Test {
    public static void main(String[] args) {
        // instanceof比较操作符,用于判断对象的 运行类型 是否为XX类型或XX类型的子类型
        Person p = new Student();
        System.out.println(p instanceof Student); // true, 因为 p 实际上引用的是 Student 类的对象
        // 因为p指向的学生对象,所以 p 实际上引用的是 Student 类的对象
        System.out.println(p instanceof Person);  // true, 因为 Student 继承了 Person
        System.out.println(p instanceof Object);  // true, 因为所有类默认都继承自 Object 类
        // System.out.println(p instanceof System);  // 会编译错误, 因为 Student 不是 System 类或其子类的实例
    }
}
